Present invention relates to a color printing apparatus for receiving image data from a data supplying source such as a host computer or the like and performing logical operation on the received data to print out a color image.
Generally, a system including a printer and a document processing apparatus e.g. document generating system or the like, is configured as shown in FIG. 21. The system is constituted by a host computer 101 which performs processing e.g. image forming or the like on data to be outputted, and a printer 102 which prints the data to be outputted processed by the host computer on a printing medium e.g. a print sheet, connected to the host computer 101. In the system, a user edits an image to be outputted by the host computer 101. When a user completes editing operation of the image to be outputted, the image data is converted to outputting data processable by the printer 102, and sent to the printer 102. The printer 102 prints a sheet according to the received data.
In order to express a color image on a display 1011 which is included in the host computer 101, the color image data in the host computer is expressed by additive mixture of color stimuli: R, G and B (FIG. 22A), because of the characteristics of the display. However, the printer 102 expresses data by subtractive mixture of color stimuli: Y, M, C and K (FIG. 22B).
Accordingly, when printing operation is to be performed, it is necessary to perform conversion from R, G and B to Y, M, C and K either in the host computer 101 or in the printer 102 utilizing some type of method. Since the method of conversion is already known to those who are skilled in the art, detailed descriptions will not be provided herein.
Further, in order to output a color image having an image area where plural colors overlap each other, it is necessary to perform logical operation for, e.g. mixing colors of the overlapped areas of an object or the like. Recently-available operating system (OS) for the host computer 101 includes a functional operation (hereinafter referred to as "rendering operation") for calculating colors of such image objects. In a system not having a rendering operation function, an image of three circles respectively colored by R, G and B as shown in FIG. 23A has to be printed in accordance with a predetermined rendering operation procedure, such as overwriting.
Lately, a host computer OS which includes the function of rendering operation is available for calculating colors of an image area where objects (circles) respectively colored by Y, M and C overlap on top of each other as shown in FIG. 23B. In a system including such OS, an application software operated on the host computer informs of a rendering operation procedure for calculating the overlapped colors to e.g. a display manager or the like in the OS, thereby realizing rendering operation for mixing overlapped colors or the like. The application software does not need to perform the rendering operation itself, or is not influenced by the result of the rendering operation. More specifically, when rendering of an image as shown in FIG. 23B is to be performed, the application software operating on the host computer which supports the rendering operation only needs to instruct the OS of the host computer to render each of the objects (circles) colored by Y, M and C, and designates a rendering operation procedure. If the same image (circles) is to be rendered by an OS which does not support the rendering operation, the overlapped area where plural objects overlap on top of each other needs to be first extracted with respect to each of Y, M and C by an application software or a printer driver, then the color of the extracted area to be outputted is determined by a rendering operation, and the overlapped area must be overwritten by a color determined by the rendering operation.
However, even if the OS on the host computer supports the rendering operation for calculating overlapped colors for displaying, a connected printer must also support such rendering operation for calculating the overlapped colors. Otherwise, it is necessary for an application software in the host computer or the printer driver to perform processing similar to that of a host computer which does not have an OS to support the rendering operation, to perform printing.
Moreover, in the rendering operation, a user normally generates an image to be outputted on a display on the host computer, thus the rendering operation procedure is designated on the basis of R, G and B data. Therefore, a rendering operation must also be performed at the printer side to calculate pixels expressed in R, G and B. In other words, printers, in most cases, cannot perform the rendering operation on Y, M, C and K data (where conversion processing of RGB.fwdarw.YMCK has been performed). This is due to the fact that the capacity of a memory source is quite limited for a built-in apparatus which does not include a virtual memory. Therefore, in most cases, tone or resolution of an image is decreased at the time of the conversion processing of RGB.fwdarw.YMCK performed by the host computer. In such case, the conversion processing is irreversible. Thus, the Y, M, C and K data received by the printer does not accurately corresponds to R, G and B data sent by the host computer; in other words, the printer cannot accurately reproduce data obtained by the rendering operation performed by the host computer, causing difficulty in supporting the rendering operation.
Color data processing performed by a color printer can be roughly classified into a case where processing is performed on Y, M, C and K data (FIG. 24), and a case where processing is performed on R, G and B data, then converted to Y, M, C and K data (FIG. 25). In the former case, there is a problem as described above in that the rendering operation is difficult to perform. In the latter case, if storage for storing R, G and B data consists of 1 memory bank, each color data of one pixel for Y, M, C and K is generated by a corresponding pixel of R, G and B data. Therefore, a transmission rate through a bus requires three times the rate of transmission for outputting the processing color (Y, M, C and K). If the required transmission rate from the memory storing rendering data (R, G and B) to a printer engine cannot be secured, a problem arises in that the tone or resolution of the image must be decreased.
When a printer apparatus is configured according to the diagram shown in FIG. 25, the printer realizes a decreased tone and resolution due to the above problem of a transmission rate through a bus. However, a print request from a user does not always require a rendering operation for calculating overlapped colors. In the apparatus such as that shown in FIG. 25, even when data not requiring a rendering operation is inputted, the tone or resolution, which could be outputted if processed by the apparatus configured as shown in FIG. 24, is unconditionally decreased.
Moreover, when a color printer which supports a rendering operation is to be realized, a memory thereof must have enough capacity to store each of R, G and B data corresponding to at least one page of data. Therefore, as resolution or tone of an output image increases, the memory capacity for storing the image data increases. Accordingly, in a case of a currently-available printer having a resolution of 600 dpi or a printer capable of expressing multiple tones, the memory required cost is high.